﻿using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Maestro_Proveedores
{
    /// <remarks>
    /// Esta clase sirve como interfaz entre el objeto Dataset (Referencia: Auditoria) que administra la auditoria de la aplicación y cada uno de los componentes del maestro de proveedores, ya que se encarga de encapsular todos los objetos responsables de llevar esta tarea (DataSet, DataTables y TableAdapters) .
    /// </remarks>
    class Session
    {
        private static string idSesion = string.Empty;

        private static Auditoria.CORPORATIVADataSet aUDITORIADataSet = new Auditoria.CORPORATIVADataSet();
                
        private static Auditoria.CORPORATIVADataSetTableAdapters.SEG_PERMISOSTableAdapter sEG_PERMISOSTableAdapter = new Auditoria.CORPORATIVADataSetTableAdapters.SEG_PERMISOSTableAdapter();

        private static Auditoria.CORPORATIVADataSetTableAdapters.SEG_USUARIOSTableAdapter sEG_USUARIOSTableAdapter = new Auditoria.CORPORATIVADataSetTableAdapters.SEG_USUARIOSTableAdapter();

        public static Auditoria.CORPORATIVADataSetTableAdapters.SEG_USUARIOSTableAdapter SEG_USUARIOSTableAdapter
        {
            get { return Session.sEG_USUARIOSTableAdapter; }
            set { Session.sEG_USUARIOSTableAdapter = value; }
        }

        private static Auditoria.CORPORATIVADataSet.SEG_USUARIOSRow seg_USUARRow = null;
                
        private static Auditoria.CORPORATIVADataSet.SEG_PERMISOSRow seg_PERMRow = null;

        //---propiedades

        /// <summary>
        /// esta variable almacena el identificdor de la sesión(Este identificador permite conocer el periodo de tiempo durante el cual la sesion se mantuvo activa).</br>Esta variable se inicializa en el MDIContainer de la aplicacion.
        /// </summary>
        public static string IdSesion
        {
            get { return Session.idSesion; }
            set { Session.idSesion = value; }
        }        
        /// <summary>
        /// Objeto dataset que tiene tarea de registrar las transacciones realizadas en la base de datos, este objeto hace referencia al proyecto Auditoria.exe
        /// </summary>
        public static Auditoria.CORPORATIVADataSet AUDITORIADataSet
        {
            get { return Session.aUDITORIADataSet; }
            set { Session.aUDITORIADataSet = value; }
        }


        /// <summary>
        /// TableAdapter que hace posible obtener los permisos que tienen los usuarios del maestro de proveedores
        /// </summary>
        public static Auditoria.CORPORATIVADataSetTableAdapters.SEG_PERMISOSTableAdapter SEG_PERMISOSTableAdapter
        {
            get { return Session.sEG_PERMISOSTableAdapter; }
            set { Session.sEG_PERMISOSTableAdapter = value; }
        }
        /// <summary>
        /// DataRow con la información de los usuarios del maestro de proveedores.
        /// </summary>
        public static Auditoria.CORPORATIVADataSet.SEG_USUARIOSRow Seg_USUARRow
        {
            get { return Session.seg_USUARRow; }
            set { Session.seg_USUARRow = value; }
        }
        /// <summary>
        /// DataRow con la información de los permisos del maestro de proveedores.
        /// </summary>
        public static Auditoria.CORPORATIVADataSet.SEG_PERMISOSRow Seg_PERMRow
        {
            get { return Maestro_Proveedores.Session.seg_PERMRow; }
            set { Maestro_Proveedores.Session.seg_PERMRow = value; }
        }        
    }    
}
